home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / disk / misc / fill_v1_2.lha / Fill / Docs / Fill.doc
Encoding:
Text File  |  1994-05-25  |  11.8 KB  |  319 lines

  1. ============================================================================
  2.  
  3.                     Fill V1.2.  Smart Multi-file Mover.
  4.            Copyright ©1993-1994 Barry Wills.  All rights reserved.
  5.  
  6.  
  7. ============================================================================
  8.  
  9.  
  10. DISTRIBUTION AND USE.
  11. ~~~~~~~~~~~~~~~~~~~~~
  12. This product is Giftware, and may be freely distributed and/or used under
  13. the following restrictions:
  14.  
  15. 1.  This product may be modified for private use only.  Modifications may
  16.     not be distributed in any fashion.
  17. 2.  This product may not be distributed for profit.  A nominal copying fee
  18.     is authorized (for cost of materials and shipping and handling
  19.     comparable to that charged by Fred Fish.)  Explicit permission to
  20.     distribute this archive is hereby granted to Fred Fish.
  21. 3.  Shareware, Giftware, Freeware, and Public Domain products are free to
  22.     include this original unmodified distribution archive.  Honorable
  23.     mention of the author and product would be appreciated.  Distribution
  24.     of this product in a commercial package without written permission
  25.     from the author is strictly forbidden.
  26. 4.  This product may not be used for malicious intent.
  27.  
  28. If you honour the Giftware concept, please consider sending some money
  29. (like $1 in cash) to Fred Fish for the awesome support he has provided us
  30. all these years.
  31.  
  32.  
  33.  
  34. DISCLAIMER.
  35. ~~~~~~~~~~
  36. This product is provided without any warranty, express or implied.  The user
  37. of this product assumes full responsibility for any damage resulting from
  38. the use and/or misuse of this product, ESPECIALLY if you make your own
  39. modifications. :-)
  40.  
  41.  
  42. CONTENTS.
  43. ~~~~~~~~
  44. This archive should contain the following files:
  45.  
  46.   .Product-Info - KingFisher record for this archive.
  47.   bin/cf        - Executable, creates a file of any given size.
  48.   bin/Fill      - Executable, V1.2.
  49.   docs/Fill.doc - Copyright notice and product information (this file).
  50.   source/cf.e   - Dummy-file creation utility source.
  51.   source/Fill.e - Fill program source.
  52.   pmodules/     - Directory containing the following EPP source modules:
  53.                   commandLineArgs.e, skipNonWhite.e, skipWhite.e,
  54.                   upperChar.e.
  55.  
  56.  
  57. ============================================================================
  58.  
  59.  
  60. REQUIREMENTS.
  61. ~~~~~~~~~~~~
  62. · An Amiga with the minimum configuration.  Should operate under KickStart
  63.   V1.3 or higher.
  64.  
  65. · Requires arp.library V39+.
  66.  
  67. · You will need EPP (an E Preprocessor), Wouter van Oortmerssen's Amiga E,
  68.   and at least 1Meg of RAM if you want to compile the sources.
  69.  
  70.  
  71.  
  72. WHAT IS IT?
  73. ~~~~~~~~~~
  74. FILL copies or moves all files from the directory specified on the command-
  75. line to a destination (normally a floppy drive) in such a fashion as to waste
  76. as little storage as possible on the destination.  Fill supports wildcard
  77. pattern matching of filenames.
  78.  
  79.  
  80.  
  81. WHY IS IT?
  82. ~~~~~~~~~
  83. I was suitably impressed by a program I saw on IBM/clone machines (can you
  84. believe it?) called FILL.  I hunted for an equivalent for Amiga (or the
  85. source so I could port it).  But it was unavailable, so I wrote it.
  86.  
  87. This was not just an exercise.  I need this program.  I often download a lot
  88. of files to my hard drive and then peruse through them and classify them
  89. later.  But sometimes I can't get to them until MUCH later (school gets in
  90. the way, etc.)  In the meantime if I need space on my drive then I have to
  91. manually copy these files to floppy for temporary storage.
  92.  
  93. Both time and floppy diskettes are at a premium.  Manually copying takes a
  94. lot of time, and diskettes aren't a dime a dozen ($6 - $10 a dozen,
  95. actually.)  That's where FILL comes to the rescue.
  96.  
  97.  
  98.  
  99. INSTALLATION.
  100. ~~~~~~~~~~~~
  101. 1.  Place Fill somewhere in your path for convenience.
  102. 2.  Copy arp.library from the Fill archive subdirectory for your
  103. corresponding OS version (Libs/OS13 for AmigaDOS v1.3, Libs/OS20 for
  104. AmigaDOS v2.0).
  105.  
  106.  
  107.  
  108. USAGE.
  109. ~~~~~
  110. 1.  Typing FILL without any parameters (or with invalid parameters) will
  111. produce the following message:
  112.  
  113.    Usage:  Fill [<options>] <source> <dest>
  114.      <source>  Any valid DOS "dev:dir", ARP wildcards supported
  115.      <dest>    Any valid DOS "dev:dir"
  116.      [<options>]
  117.       -c    Copy files only, don't delete source (default MOVE FILES)
  118.       -e##  Error margin, add blocks to storage estimate (1-20; default 0)
  119.       -n    No DOS overhead considerations (use on MS-DOS floppies)
  120.       -p    Don't transfer protection bits (use standard rwed)
  121.       -x    Don't clone protection bits, date, and time
  122.  
  123. 2.  Typing "Fill * DF0:" will MOVE all files in the current directory to the
  124. floppy in DF0:.  The source directory may be any valid DOS file specification
  125. (i.e., any [dev:][path/]filepattern.)  Arp wildcards are supported, so if you
  126. type "Fill temp/*.l* DF0:" then all files in the temp directory that have a
  127. ".lzh", ".lha", ".l#?" extension will be moved to the floppy in DF0:.
  128.  
  129. 3. All files moved or copied retain their protection bits and datestamps by
  130. default.  If the diskette in DF0: becomes full the number of unused bytes is
  131. displayed for your edification and you will be prompted to insert the next
  132. diskette.  Entering "Q" or "q" at the prompt will abort the program.  Typing
  133. Ctrl-C at any time will abort the copy/move and remove from destination the
  134. partially copied file in progress at the time of interrupt.
  135.  
  136. 4.  Program mode is MOVE by default.  The option '-c' disables deletion of
  137. files from the source medium.  If an error occurs while writing to
  138. destination, the destination file is removed (but the source file is not), a
  139. message is displayed and a smaller file will be attempted.
  140.  
  141. 5.  Error margin is 0 blocks by default.  This option was supplied in the
  142. event that storage requirements are incorrectly calculated by the program.
  143. (*****  DOES ANYBODY USE THIS???  *****)
  144.  
  145. 6.  Since MS-DOS reserves a fixed number of blocks for the file system, so it
  146. doesn't require any fancy calculations, i.e., the "overhead" is predetermined.
  147. The "-n" option is provided to allow you to completely fill an MS-DOS floppy.
  148.  
  149. 7.  To assign the default protection bits to destination files, supply the
  150. "-p" option on the command-line.
  151.  
  152. 8.  To assign the current date and time stamp to destination files, supply
  153. the "-x" option on the command-line.
  154.  
  155.  
  156.  
  157. OTHER CONSIDERATIONS.
  158. ~~~~~~~~~~~~~~~~~~~~
  159. FILL does not check for files on destination that have the same name, they
  160. are simply over-written.  For this reason, and the probability of file
  161. fragmentation, using partially-full disks with this program is discouraged.
  162.  
  163. The storage requirements formula used in this program is not sanctioned (as
  164. far as I am aware) by anyone but me.  I formulated it by experimentation
  165. with DOS.  Therefore, it is possible that the calculations may occasionally
  166. be inaccurate.  If this occurs I would appreciate a bug report and as much
  167. information about the circumstances as possible.  Redirecting the output of
  168. the DOS List command to a text file(s) would be very helpful, as would error
  169. messages generated by DOS and the program.
  170.  
  171. Since FILL was written with 880k OFS floppies in mind as the standard
  172. destination device, the storage requirements calculation may be inaccurate
  173. if you are trying to fill hard/floptical drives or high density drives.  I
  174. have no need (and no means) to test other media types at this time.  If this
  175. causes you severe heartburn please let me know and I'll consider researching
  176. it.  I intentionally did not play with FFS since I don't use it on my
  177. floppies.  FILL may act a little flakey if used with FFS floppies.  I don't
  178. know for sure.
  179.  
  180.  
  181. ============================================================================
  182.  
  183.  
  184. LIMITATIONS.
  185. ~~~~~~~~~~~
  186.   · Doesn't do subdirectories.
  187.  
  188.   · Any other features not included that you think would be worthwhile...
  189.  
  190.  
  191.  
  192. TO DO.
  193. ~~~~~
  194.   · Optimized copying.  Comparing combined size of two or three smaller
  195.     files instead of just using the largest file that will fit.  (Not sure
  196.     if this is feasible.)
  197.  
  198.   · Allow specification of an alternate destination drive (for those of us
  199.     with more than one floppy.)
  200.  
  201.   · There was one request for sub-directories.  What should one do with a
  202.     a sub-directory???
  203.  
  204.  
  205.  
  206. HISTORY.
  207. ~~~~~~~
  208.    V0.10b - First release, May 1993.
  209.    ~~~~~~
  210.    1.  Locks destination.  Doesn't care if it's a floppy.
  211.    2.  Locks source.  Source is always current directory.
  212.    3.  Examines contents of source directory, stores filenames and sizes in
  213.        a list in descending order.
  214.    4.  Checks free space on destination.  Gets from list largest file that
  215.        will fit on destination.  Moves file to destination.  Continues
  216.        until list is emptied or files remaining in list won't fit on an
  217.        empty volume.
  218.    5.  Prompts for disk-change when volume becomes full.  Allows user
  219.        interruption.
  220.    6.  Displays number of unused bytes on a finished volume.
  221.    7.  Supports options:
  222.        -b##  Copy buffer size (1-100k; default 20)
  223.        -c    Copy only.  Don't move files. (default MOVE FILES)
  224.        -e##  Error Margin for storage estimate (1-20 blocks; default 0)
  225.    8.  Preserves file attributes.
  226.    9.  Recovers from full disk error (untested.)
  227.  
  228.    V0.11b - Released (oops, I don't remember).
  229.    ~~~~~~
  230.    1.  Corrected erroneous check for file too big to fit on empty volume.
  231.        V0.10b would keep asking for another disk, even though a file would
  232.        not fit on an empty volume.  User had to enter 'Q' or 'q' to quit at
  233.        the prompt.
  234.    2.  Corrected to get the destination infodata before displaying free
  235.        space when exiting the program.  Previously, the free space shown
  236.        upon exiting was the free space on the destination BEFORE the last
  237.        file was copied/moved.  (oops)
  238.  
  239.    V0.12b - Released 22 May 93.
  240.    ~~~~~~
  241.    1.  Added Ctrl-C interrupt capability.
  242.  
  243.    V1.0 - Released 13 Jun 93.
  244.    ~~~~
  245.    1.  Removed from beta status.
  246.    2.  New command-line argument for source dev:directory.
  247.    3.  Now using arp.library to select filenames by pattern.
  248.  
  249.    V1.1 - Released 24 Jul 93.
  250.    ~~~~
  251.    1.  Added -n switch for "no overhead consideration", intended for use
  252.        with MS-DOS floppies.
  253.    2.  Cosmetic adjustment of status messages.
  254.    3.  If a destination directory is specified, the file name was prepended
  255.        with the directory name instead of being placed in the destination
  256.        directory.
  257.  
  258.    V1.2 - Released 13 Feb 94.
  259.    ~~~~
  260.    1.  Added -x (NOCLONE) switch, clone datestamp by default.
  261.    2.  Added -p (NOPRO) switch, preserve protection bits by default.
  262.    3.  Condensed source format a little.  Optimized a few statements.
  263.  
  264.  
  265. ============================================================================
  266.  
  267.  
  268. MISCELLANEOUS.
  269. ~~~~~~~~~~~~~
  270. This product was developed and tested on a Commodore Amiga 500 with the
  271. following configuration:
  272.  
  273.    KickStart V34, WorkBench V1.3, ©Commodore-Amiga, Inc.
  274.    KickStart V37, WorkBench V2.1, ©Commodore-Amiga, Inc.
  275.    Amiga E V2.1, ©Wouter van Oortmerssen
  276.    ARP V39 and V40, Amiga Resource Project, ©ARP Authors.
  277.  
  278.    DataFlyer 500 SCSI controller
  279.    Quantum 52M HD
  280.    Dual 880K floppy drive
  281.    1M 16-bit Chip RAM
  282.    CSA Derringer 030 accellerator:
  283.       68030 CPU @25MHz
  284.       68881 FPU @27MHz
  285.       4M 32-bit Fast RAM
  286.  
  287.  
  288. ============================================================================
  289.  
  290.  
  291. CREDITS.
  292. ~~~~~~~
  293. Special thanks go to:
  294.  
  295.   · Wouter van Oortmerssen for making Amiga E awesome and available!
  296.  
  297.   · Arp Authors, those Amiga monoliths, saviors of the dying Amiga OS
  298.     v1.3, most (all?) of whom are still lurking somewhere!
  299.  
  300. ============================================================================
  301.  
  302.  
  303. CONTACTING THE AUTHOR.
  304. ~~~~~~~~~~~~~~~~~~~~~
  305. I can be reached by the following means:
  306.  
  307.   Internet:  el269@cleveland.freenet.edu
  308.  
  309.   USnail:    Barry Wills
  310.              5528D Pryor Dr.
  311.              Scott AFB, IL 62225 (USA)
  312.              (618)-744-1096
  313.  
  314. I wrote this for my own use, but I hope you get as much enjoyment out of it
  315. as I do.  I am very interested in feedback!
  316.  
  317.  
  318. ============================================================================
  319.